package com.example.ai.service.Impl;


import com.example.ai.entity.User;
import com.example.ai.mapper.UserMapper;
import com.example.ai.service.userService;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 用户业务逻辑实现类
 * 处理用户信息的CRUD操作及状态管理
 *
 * @author czwa
 */
@Service
@Slf4j
public class userServiceImpl implements userService {

    @Autowired
    private UserMapper userMapper;

    /**
     * 分页条件查询用户列表
     *
     * @param user 查询条件封装对象（包含分页信息）
     * @return 用户列表
     */
    @Override
    public List<User> getAllUsers(User user) {
        return userMapper.getAllUsers(user);
    }

    /**
     * 新增用户
     *
     * @param user 用户实体对象
     */
    @Override
    public void add(User user) {
        userMapper.add(user);
    }

    /**
     * 根据ID查询用户详情
     *
     * @param id 用户ID
     * @return 用户实体对象
     */
    @Override
    public User getById(int id) {
        return userMapper.getById(id);
    }

    /**
     * 更新用户信息
     *
     * @param user 用户实体对象（需包含ID）
     */
    @Override
    public void update(User user) {
        userMapper.update(user);
    }

    /**
     * 逻辑删除用户（禁用账户）
     * 将用户状态设置为0（禁用）
     *
     * @param id 用户ID
     */
    @Override
    public void delete(int id) {
        userMapper.delete(id);
    }

    /**
     * 恢复用户账户（启用账户）
     * 将用户状态设置为1（启用）
     *
     * @param id 用户ID
     */
    @Override
    public void recover(int id) {
        userMapper.recover(id);
    }
}